﻿using Org.BouncyCastle.Crypto.Parameters;

namespace MyTRCP.Common.MyProtocol
{
    public class AuthStageInfo
    {
        public int LastRecvDatagramId { get; set; }
        public bool LastRecvDatagramChangeId { get; set; }
        public MyProtocolAuthStageEnum AuthStage { get; set; }
        public ECPublicKeyParameters? RemoteIdAuthPublicKey { get; set; }
        public byte[] RemoteIdAuthChallengeRandom { get; set; } = new byte[16];
        public ECPublicKeyParameters? RemoteKeyAgreementPublicKey { get; set; }
        public ECPublicKeyParameters? LocalKeyAgreementPublicKey { get; set; }
        public ECPrivateKeyParameters? LocalKeyAgreementPrivateKey { get; set; }
        public AutoResetEvent? AuthCompleteEvent { get; set; }
        public AuthResultCodeEnum AuthResultCode { get; set; }
        public int LastSendDatagramId { get; set; }
    }
}
